package ace.module.account.test.core.config;

import ace.module.captcha.api.CaptchaApplicationApi;
import ace.module.captcha.api.CaptchaImageApi;
import ace.module.captcha.api.CaptchaItemApi;
import ace.module.captcha.sms.api.CaptchaSmsApi;
import ace.module.oauth2.server.api.Oauth2Api;
import ace.module.security.api.AuthenticationApi;
import ace.module.upms.api.UpmsApplicationApi;
import ace.module.upms.api.UpmsAuthorityApi;
import ace.module.upms.api.UpmsOrganizationApi;
import ace.module.upms.api.UpmsRoleApi;
import ace.module.weixin.api.WxsMiniAppApi;
import org.mockito.Mockito;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author caspar
 * @date 2024/3/12 10:05
 */
@Configuration
public class IamAutoConfig {

  @Bean
  public AuthenticationApi authenticationApi() {
    return Mockito.mock(AuthenticationApi.class);
  }

  @Bean
  public CaptchaSmsApi captchaSmsApi() {
    return Mockito.mock(CaptchaSmsApi.class);
  }

  @Bean
  public CaptchaImageApi captchaImageApi() {
    return Mockito.mock(CaptchaImageApi.class);
  }

  @Bean
  public WxsMiniAppApi wxsMiniAppApi() {
    return Mockito.mock(WxsMiniAppApi.class);
  }

  @Bean
  public CaptchaApplicationApi captchaApplicationApi() {
    return Mockito.mock(CaptchaApplicationApi.class);
  }

  @Bean
  public UpmsAuthorityApi upmsAuthorityApi() {
    return Mockito.mock(UpmsAuthorityApi.class);
  }

  @Bean
  public UpmsRoleApi upmsRoleApi() {
    return Mockito.mock(UpmsRoleApi.class);
  }

  @Bean
  public UpmsApplicationApi upmsApplicationApi() {
    return Mockito.mock(UpmsApplicationApi.class);
  }

  @Bean
  public UpmsOrganizationApi upmsOrganizationApi() {
    return Mockito.mock(UpmsOrganizationApi.class);
  }

  @Bean
  public Oauth2Api oauth2Api() {
    return Mockito.mock(Oauth2Api.class);
  }

  @Bean
  public CaptchaItemApi captchaItemApi() {
    return Mockito.mock(CaptchaItemApi.class);
  }
}
